Skip to content

Add OpenShell middleware project initializer - #20

Merged
johnnygreco merged 15 commits into
mainfrom
johnny/feat/openshell-middleware-init
Jul 22, 2026
Merged

Add OpenShell middleware project initializer#20
johnnygreco merged 15 commits into
mainfrom
johnny/feat/openshell-middleware-init

Conversation

@johnnygreco

@johnnygreco johnnygreco commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add a Typer-based openshell-middleware-init CLI
  • generate version-matched Python or Rust supervisor middleware projects
  • download and hash the selected OpenShell proto, generate bindings/lockfiles,
    validate in staging, and publish atomically
  • include runnable pass-through middleware templates, tests, documentation, and
    contributor guidance

Why

Middleware authors currently need to assemble version-matched protocol bindings,
build configuration, service boilerplate, and provenance metadata by hand. This
initializer packages those requirements into a reusable, non-destructive project
generator without installing or replacing OpenShell.

Validation

  • uv run ruff format --check .
  • uv run ruff check .
  • uv run ty check
  • uv run pytest (60 tests, 95.68% coverage)
  • uv build
  • isolated packaged-CLI exercise of help, validation, toolchain preflight,
    existing-output, DNS, missing-release, and recovery paths
  • generated Python v0.0.86 project: sync, format, lint, type check, 5 tests,
    build, help, and loopback startup
  • generated Rust v0.0.86 project: format, Clippy with warnings denied, 4 tests,
    build, and loopback startup
  • end-to-end numeric-name Rust generation against OpenShell v0.0.86, including
    dependency locking and successful Cargo compile check
  • Cargo metadata validation for Rust internal/reserved identities (std,
    build)

Panel review

An initial three-specialist panel reviewed correctness and filesystem safety,
language integration, dependencies, developer experience, tests, and
documentation. Its findings were fixed and all three reviewers reported clean.

A subsequent independent panel used two focused reviewers:

  • a developer-experience field reviewer installed the packaged CLI in isolated
    scratch storage and exercised both generated language projects and failure
    recovery paths;
  • a pragmatic reviewer assessed maintainability, robustness, and whether the
    safety machinery earned its complexity.

The panel found and fixed one dangling-destination-symlink publication bug. A
registration suggestion based on stale RFC prose was rejected after both
reviewers verified the exact shipped OpenShell v0.0.86 parser and operational
docs. Both reviewers reported clean after the accepted fix, with no unresolved
findings.

This PR is intentionally draft and must not be merged without explicit approval.

@johnnygreco
johnnygreco marked this pull request as ready for review July 22, 2026 15:49
@johnnygreco
johnnygreco marked this pull request as draft July 22, 2026 16:13
@johnnygreco
johnnygreco marked this pull request as ready for review July 22, 2026 18:56
@johnnygreco
johnnygreco merged commit 637fc34 into main Jul 22, 2026
7 checks passed
@johnnygreco
johnnygreco deleted the johnny/feat/openshell-middleware-init branch July 23, 2026 22:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant